<template>
  <div>
    <router-view></router-view>
  </div>
</template>
<!-- 
<script lang="ts" setup>

// 类 
// 基础语法  实例属性， 原型方法， 构造器， 静态属性和方法

class Person {
  // 实例属性
  name: string
  sex: string = "男"
  // 构造器
  constructor(name: string, sex: string = '男') {
    this.name = name
    this.sex = sex
  }
  // 原型方法（所有实例继承的方法）
  sayName() {
    console.log(`我是${this.name}`)
  }
  /******************************************************/
  // 静态方法和属性 (体现对象特征)
  static a = 1
  static sayName() {
    console.log(123)
  }
}




</script> -->



<script setup lang="ts">
// 类 
// 基础语法  实例属性， 原型方法， 构造器， 静态属性和方法
//  继承： 父类 子类
//  修饰符
//  protected 保护属性，只能在自身及其子类中访问
//  private   私有属性，只能在自身中访问。
//  public    公共属性（默认属性）  任何地方访问
// 父类 | 基类
class Father {
  protected money: number = 100000
  private litterMoney: number = 200
  constructor() {
    console.log('父亲访问', this.litterMoney)
  }

}
// 子类 | 派生类
class Son extends Father {
  public name: string = '张三'
  constructor() {
    super()
    console.log('孩子访问', this.litterMoney)
  }
  // sayName() {
  //   console.log('我是子类的方法')
  // }
}

const s1 = new Son()

// console.log('外部访问', s1.money)
</script>


<style>
* {
  margin: 0;
  padding: 0;
}
</style>